A data link control protocol, such as the well-known HDLC protocol, has been the basis for a large class of signaling protocols including, for example, the X.25 Layer 2, Q.921 and GSM 04.22 protocols covering wired and wireless applications. These protocols typically follow the same procedure that a data terminal invokes to (a) establish a connection or disconnection, (b) negotiate transmission parameters, or (c) exchange operating status information. The procedure typically entails transmitting a signaling message and setting a timer (which is typically set to approximately several times the round-trip transmission delay between the near and far-end) to await receipt of a far-end response to the message. If the transmitted signaling message or transmitted response is lost due to, for example, a noisy connection, then the near-end terminal will not learn of that fact until the associated timer expires. At that point, the near-end terminal may retransmit the lost signaling message and reset the associated timer. The near-end terminal repeats the foregoing procedure if the transmitted message continues to be lost as a result of the noisy connection and does so until it declares an unrecoverable error condition.
It can be appreciated that the foregoing procedure consumes an inordinate amount of time and is not very efficient. This would be true even if the transmitted message reaches the far end after a number of transmission attempts and an acknowledgement response is received at the near end. It is obvious of course that the foregoing may be dealt with to some extent by decreasing the timing period of the associated timer as a way of decreasing the duration between retransmissions and thus the overall delay. However, we have recognized that in the absence of a well-defined set of transmission procedures such a decrease in the value of the timer could place either or both the near-end or far-end terminal (which may be receiving repeatedly a copy of same signaling message) in an ambiguous state.